1
Aula 7: Introdução a Módulos em Python
EvoClass-AI001Lecture 7
00:00

Introdução a Módulos em Python

Em Python, um Módulo é um arquivo que termina com .pyque serve como um contêiner para componentes de código reutilizáveis (funções, classes, variáveis). Os módulos são a base da arquitetura de programas em grande escala, permitindo que os desenvolvedores gerenciem a complexidade e melhorem a manutenção do código ao separar logicamente as definições. Esse processo é semelhante à forma como conceitos matemáticos são divididos em campos especializados (por exemplo, $f(x)$ é definido em um domínio específico $D$).

1. O Propósito do Módulo

Os módulos atendem três necessidades críticas no desenvolvimento:

  • Promovendo Reutilização de Códigoem múltiplos projetos sem reescrever definições.
  • Garantindo clareza e organização ao dividir programas grandes em arquivos relacionados e gerenciáveis.
  • Evitando Colisões de Nomesdefinindo espaços de nomes separados para funções e variáveis.

Exemplo Conceitual:

Imagine ter um arquivo chamado utility.pycontendo funções para calcular resultados matemáticos. Todo esse arquivo é o módulo, e essas funções são seu conteúdo acessível.

2. Métodos de Importação

A instrução Python importtorna definições externas disponíveis para seu script atual. O método escolhido determina como você acessa os componentes e como o namespace do programa atual é afetado.

  • Importação Padrão:import nome_do_módulo. Exige acesso ao conteúdo usando nome_do_módulo.função().
  • Importação Seletiva:from módulo import função. Permite uso direto de função()sem o prefixo do módulo.
  • Importação com Apelido:import módulo comoapelido. Fornece um apelido mais curto e específico do projeto por conveniência (por exemplo, import numpy como np).
Foco na Biblioteca Padrão
O Python inclui uma extensa Biblioteca Padrãode módulos embutidos (como 'os', 'sys', 'random', 'math'). Aprender a utilizar esses módulos reutilizáveis é essencial para um desenvolvimento eficiente e economiza muito tempo.
Question 1
If you use import math, how must you call the sqrt function to calculate $\sqrt{25}$?
sqrt(25)
math.sqrt(25)
math::sqrt(25)
use math sqrt
Question 2
Which benefit of using modules addresses the issue of having multiple functions named process_data in a large application?
Code execution speed
Preventing Naming Collisions
Automatic debugging
Question 3
What happens to a module file the second time you attempt to import it in the same running program?
It is imported again, executing all top-level code.
The import fails with an error.
Python recognizes it is already loaded and skips execution.
Only variables are reloaded.